草庐IT

constructor - Swift 类不可构造

全部标签

javascript:同一类型对象的不同构造函数

在javascript中,一个类是否可以有多个构造函数?即一个参数为零,一个参数为一个,一个参数为两个,等等......如果是,怎么办?谢谢! 最佳答案 不,Javascript不支持函数重载。但是,在每个函数中您都可以访问argumentsobject,其中包含提供给函数的所有参数,无论是否声明。您可以简单地查看它并决定您要在构造函数中执行的操作。糟糕的、未经提炼的例子:functionFoo(){functionsingleParamConstructor(foo){...}functiontwoParamConstructor

javascript - 我可以覆盖 javascript 中的构造函数吗?

我刚刚得知我canoverwriteamethod在Javascript类中,如下所示,但是实际的构造函数呢?如果可能,我该怎么做而不实例化类?varUserModel=(function(){varUser;User=function(){};// 最佳答案 只是暂时保存prototype对象,然后替换构造函数:varproto=UserModel.prototype;UserModel=function(){/*newimplementation*/};UserModel.prototype=proto;

javascript - NodeJS - 如何在自执行函数中将构造函数分配给 module.exports?

我正在尝试在NodeJS中的自执行函数中分配一个构造函数。我很确定它不起作用,因为我的参数是一个指向module.exports的变量,但我很好奇是否有办法让它工作,同时尽可能接近自执行格式。下面是代码的调用方式...varTemplateEngine=require('./templateEngine');templateEngine=newTemplateEngine({engine:'swig'});//"objectisnotafunction"这是一个运行良好的代码示例...varassert=require('assert');varswig=require('swig')

javascript - Javascript中构造对象的两种方式

functionPerson(age,name){this.name=name;this.age=age;this.speak=function(){...}}functionPerson(age,name){varp={}p.name=name;p.age=age;p.speak=function(){...}returnp;}我看到的唯一区别是,使用第一个你必须用new调用来让语言知道它正在构造一个新对象,它本质上只是构造一个对象,其中“this”指的是正在创建的新对象吗?即与这样做相同。{age:12,name:"mark",speak:function(){...}}第二个返回

javascript - 在构造函数中包装 new 是好是坏?

我看了JohnResig的BestPracticesinJavaScriptLibraryDesign推介会;一张幻灯片建议“调整”对象构造函数,使其实例化自身。functionjQuery(str,con){if(window===this){returnnewjQuery(str,con);}//...}这样,newjQuery("#foo")就变成了jQuery("#foo")。我认为这很有趣,但我没有在自己的代码中编写过这样的构造函数。不久之后,我在这里阅读了一篇关于SO的帖子。(抱歉,我不记得是哪一个或者我会提供链接。如果我能再次找到它,我会更新问题。)其中一条评论说隐藏ne

javascript - 使用继承时,构造函数和原型(prototype)对象有什么区别吗?

考虑以下JavaScript片段:functionfoo(){this.bar=function(){};}//or...(ifweusedanemptyconstructorfunction)foo.prototype.bar=function(){};我这样做有什么区别:functionbaz(){}baz.prototype=newfoo();在这两种情况下,baz最终都有一个成员bar但有什么不同呢?为什么我要在不同的地方这样做? 最佳答案 区别在于属性位于原型(prototype)链中的位置。假设我们有f=newfoo()

javascript - 不要用 new Constructor 创建对象

是否可以选择不在构造函数中创建具有特定条件的对象,例如functionMonster(name,hp){if(hp 最佳答案 我认为你应该做的是抛出一个异常。functionMonster(name,hp){if(hp 关于javascript-不要用newConstructor创建对象,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/15355908/

javascript - gulp-livereload 与 vagrant 环境 : livereload. js 不可访问

我在vagrant环境(使用puphpet生成)中使用gulp-livereload时遇到问题。我的计算机是Windows主机,VM是Debian。我使用这个gulpfile:vargulp=require('gulp'),less=require('gulp-less')lr=require('tiny-lr'),livereload=require('gulp-livereload'),server=lr();gulp.task('less',function(){gulp.src('assets/less/*.less').pipe(less()).pipe(gulp.dest(

javascript - 将 Javascript If 语句构造为在函数中同步的最佳方法

我问这个问题是为了学习用javascript做某事的“最佳实践”方式。假设我这里有这段代码:varsomeFunc=function(){if(something){//dosomething}if(somethingElse){//dosomethingElse}};问题是确保“something”始终在“somethingElse”之前运行的最佳方法是什么。由于javascript是异步的,我知道我需要某种回调系统来确保这一点。但是,有没有更简单的方法来重构它?如果有很多if语句怎么办?什么是最好的库来干净地做这样的事情?提前致谢。 最佳答案

javascript - 为什么函数名在分配给变量后不可用

这个问题在这里已经有了答案:Javascriptfunctionslike"varfoo=functionbar()..."?(9个回答)JavaScript-Whyisthisfunctiondeclarationcreatedinafunctionexpression"undefined"?(3个答案)关闭4年前。我刚刚在一次采访中遇到了这个问题。我没有得到任何答案,所以把它放在StackOverflow上JS中的一个简单问题,但我无法理解其背后的原因。下面是代码。varf=functionfoo(a,b){console.log(a+"-"+b);//f(1,2)willprin